一、元组的常用方法
①元组方法-------count(),元组中某个元素出现的次数
<code>>>> t_tuple</code><code>=</code><code>(</code><code>'a'</code><code>,</code><code>'b'</code><code>,</code><code>11</code><code>,</code><code>22</code><code>)</code>
<code>>>> t_tuple.count(</code><code>'a'</code><code>)</code>
<code>1</code>
<code>>>> t_tuple.count(</code><code>'b'</code><code>)</code>
<code>>>> t_tuple.count(</code><code>'11'</code><code>)</code>
<code>0</code>
<code>>>> t_tuple.count(</code><code>11</code><code>)</code>
<code>>>></code>
①元组方法-------index(),查找出元组中元素的下标位置,如果元素不存在,则会报错
<code>>>> t_tuple.index(</code><code>'a'</code><code>)</code><code>0</code><code>>>> t_tuple.index(</code><code>'b'</code><code>)</code><code>1</code><code>>>> t_tuple.index(</code><code>11</code><code>)</code><code>2</code><code>>>> t_tuple.index(</code><code>'c'</code><code>)Traceback (most recent call last): </code><code>File</code> <code>"<stdin>"</code><code>, line </code><code>1</code><code>, </code><code>in</code> <code><module>ValueError: </code><code>tuple</code><code>.index(x): x </code><code>not</code> <code>in</code> <code>tuple</code><code>>>></code>
二、字典及常用方法
①字典常用方法-------clear(),清除字典内容
<code>>>> name_dict</code><code>=</code><code>{</code><code>'alex'</code><code>:</code><code>22</code><code>,</code><code>'eric'</code><code>:</code><code>26</code><code>,</code><code>'tony'</code><code>:</code><code>25</code><code>}</code>
<code>>>> name_dict</code>
<code>{</code><code>'tony'</code><code>: </code><code>25</code><code>, </code><code>'alex'</code><code>: </code><code>22</code><code>, </code><code>'eric'</code><code>: </code><code>26</code><code>}</code>
<code>>>> name_dict.clear()</code>
<code>{}</code>
浅拷贝
②字典常用方法-------copy(),字典浅拷贝,该拷贝纸拷贝第一层,如果子点的key或者value下还继续有字典,
<code>>>> name_dict</code><code>=</code><code>{</code><code>'alex'</code><code>:</code><code>22</code><code>,</code><code>'eric'</code><code>:</code><code>26</code><code>,</code><code>'tony'</code><code>:</code><code>25</code><code>}>>> name_dict.copy(){</code><code>'tony'</code><code>: </code><code>25</code><code>, </code><code>'alex'</code><code>: </code><code>22</code><code>, </code><code>'eric'</code><code>: </code><code>26</code><code>}>>> name_dicts </code><code>=</code> <code>name_dict.copy()>>> </code><code>print</code> <code>name_dicts{</code><code>'tony'</code><code>: </code><code>25</code><code>, </code><code>'alex'</code><code>: </code><code>22</code><code>, </code><code>'eric'</code><code>: </code><code>26</code><code>}>>> </code><code>id</code><code>(name_dict)</code><code>39525232</code><code>>>> </code><code>id</code><code>(name_dicts)</code><code>39524800</code><code>>>></code>
深拷贝
import copy
test_dict = {'a':{'b':{'c':100}}}
test02_dict=copy.deepcopy(被拷贝的字典),拷贝多层,当被拷贝的字典中二层或者二层以上中的键对应的值发生变化,通过该方法拷贝得到的字典test002_dict中的键值是不会发生变化的
为什么要拷贝?
1当进行修改时,想要保留原来的数据和修改后的数据
数字字符串 和 集合 在修改时的差异? (深浅拷贝不同的终极原因)
1在修改数据时:
2数字字符串:在内存中新建一份数据
3集合:修改内存中的同一份数据
对于集合,如何保留其修改前和修改后的数据?
1在内存中拷贝一份
③字典常用方法-------get(),获取某个key对应的值,如果该key不存在,返回None,也可以指定返回其他结果,get方法可以避免在key不存在的时候返回报错
<code>>>> name_dict.get(</code><code>'alex'</code><code>)</code>
<code>22</code>
<code>>>> name_dict[</code><code>'alex'</code><code>]</code>
<code>>>> name_dict.get(</code><code>'eric'</code><code>)</code>
<code>26</code>
<code>>>> name_dict.get(</code><code>'susan'</code><code>)</code>
<code>>>> </code><code>print</code> <code>name_dict.get(</code><code>'susan'</code><code>)</code>
<code>None</code>
<code>>>> </code><code>print</code> <code>name_dict.get(</code><code>'susan'</code><code>,</code><code>'OK'</code><code>)</code>
<code>OK</code>
<code>>>> name_dict.get(</code><code>'susan'</code><code>,</code><code>'OK'</code><code>)</code>
<code>'OK'</code>
<code>>>> </code><code>print</code> <code>name_dict[</code><code>'susan'</code><code>]</code>
<code>Traceback (most recent call last):</code>
<code> </code><code>File</code> <code>"<stdin>"</code><code>, line </code><code>1</code><code>, </code><code>in</code> <code><module></code>
<code>KeyError: </code><code>'susan'</code>
④字典一般用字符串,数字,类的实例来作为key
⑤判断一个字典是否为字典用如下方法:
<code>>>> nu_dict </code><code>=</code> <code>{</code><code>'alex'</code><code>:</code><code>18</code><code>,</code><code>'tony'</code><code>:</code><code>22</code><code>}</code>
<code>>>> </code><code>type</code><code>(nu_dict)<</code><code>type</code> <code>'dict'</code><code>></code>
<code>>>> </code><code>type</code><code>(nu_dict) </code><code>is</code> <code>dictTrue</code>
⑥字典常用方法-------fromkeys(),可以将一个列表与定义的后面的一个值进行匹配,生成一个新的字典,该方法可以用于一个人名列表,如果要把人名列表对应每个人的个人信息,可以用到次方法
<code>>>>a{</code><code>'a'</code><code>: </code><code>1</code><code>, </code><code>'c'</code><code>: </code><code>3</code><code>, </code><code>'b'</code><code>: </code><code>2</code><code>}</code>
<code>>>>a.fromkeys([</code><code>1</code><code>,</code><code>2</code><code>,</code><code>3</code><code>,</code><code>4</code><code>,</code><code>5</code><code>],</code><code>'t'</code><code>){</code><code>1</code><code>: </code><code>'t'</code><code>, </code><code>2</code><code>: </code><code>'t'</code><code>, </code><code>3</code><code>: </code><code>'t'</code><code>, </code><code>4</code><code>: </code><code>'t'</code><code>, </code><code>5</code><code>: </code><code>'t'</code><code>}</code>
<code>>>>a.fromkeys([</code><code>'alex'</code><code>,</code><code>'eric'</code><code>,</code><code>'tony'</code><code>,</code><code>'susan'</code><code>],[]){</code><code>'tony'</code><code>: [], </code><code>'alex'</code><code>: [], </code><code>'eric'</code><code>: [], </code><code>'susan'</code><code>: []}</code>
⑦字典常用方法-------items(),取出字典中所有对应的key:value
<code>>>>name_dict </code><code>=</code> <code>{</code><code>'alex'</code><code>:</code><code>22</code><code>,</code><code>'eric'</code><code>:</code><code>24</code><code>,</code><code>'tony'</code><code>:</code><code>18</code><code>}</code>
<code>>>>name_dict</code>
<code>{</code><code>'tony'</code><code>: </code><code>18</code><code>, </code><code>'alex'</code><code>: </code><code>22</code><code>, </code><code>'eric'</code><code>: </code><code>24</code><code>}</code>
<code>>>>name_dict.items()</code>
<code>[(</code><code>'tony'</code><code>, </code><code>18</code><code>), (</code><code>'alex'</code><code>, </code><code>22</code><code>), (</code><code>'eric'</code><code>, </code><code>24</code><code>)]</code>
对于字典中的内容不是很多,即上百条或者上千条更甚至上万条可以用以上方法,如果上百万或千万条记录,则建议用如下方法:
<code>>>> </code><code>for</code> <code>k </code><code>in</code> <code>name_dict:</code><code>print</code> <code>k,name_dict[k]</code>
<code>...</code>
<code>tony </code><code>18</code>
<code>alex </code><code>22</code>
<code>eric </code><code>24</code>
这样好处是只读取了字典中的key,生成一个列表,然后再拿着key去字典中找对应的value,可以节约内存,而上面的方法是在内存中生成两个列表,这样就消耗了过多的内存资源。
⑧字典常用方法-------keys(),当前所有的key打印出来
<code>>>> name_dict{</code><code>'tony'</code><code>: </code><code>18</code><code>, </code><code>'alex'</code><code>: </code><code>22</code><code>, </code><code>'eric'</code><code>: </code><code>24</code><code>}>>> name_dict.keys()[</code><code>'tony'</code><code>, </code><code>'alex'</code><code>, </code><code>'eric'</code><code>]>>></code>
⑨字典常用方法-------pop(),删除指定的键值对,只需要指定键即可
<code>>>> name_dict.pop(</code><code>'alex'</code><code>)</code>
<code>{</code><code>'tony'</code><code>: </code><code>18</code><code>, </code><code>'eric'</code><code>: </code><code>24</code><code>}</code>
⑩字典常用方法-------del,该方法是一个全局性的,可以删除一个字典,列表,变量,元组等
<code>>>> a</code><code>=</code><code>'alex'</code>
<code>>>> </code><code>del</code> <code>a</code>
<code>>>> a</code>
<code>NameError: name </code><code>'a'</code> <code>is</code> <code>not</code> <code>defined</code>
<code>>>> b </code><code>=</code> <code>{</code><code>'ccc'</code><code>:</code><code>111</code><code>,</code><code>'ddd'</code><code>:</code><code>222</code><code>}</code>
<code>>>> </code><code>del</code> <code>b</code>
<code>>>> b</code>
<code>NameError: name </code><code>'b'</code> <code>is</code> <code>not</code> <code>defined</code>
<code>>>> c </code><code>=</code> <code>(</code><code>'a'</code><code>,</code><code>2</code><code>,</code><code>'c'</code><code>,</code><code>'f'</code><code>,</code><code>22</code><code>,)</code>
<code>>>> c</code>
<code>(</code><code>'a'</code><code>, </code><code>2</code><code>, </code><code>'c'</code><code>, </code><code>'f'</code><code>, </code><code>22</code><code>)</code>
<code>>>> </code><code>del</code> <code>c</code>
<code>NameError: name </code><code>'c'</code> <code>is</code> <code>not</code> <code>defined</code>
字典常用方法-------setdefault()如果字典的键对应的值存在,则输出,不存在则定义一个默认值
<code>>>> c{</code><code>7</code><code>: [], </code><code>8</code><code>: [], </code><code>9</code><code>: [], </code><code>10</code><code>: [], </code><code>11</code><code>: [], </code><code>12</code><code>: [], </code><code>13</code><code>: [], </code><code>14</code><code>: [], </code><code>15</code><code>: [], </code><code>16</code><code>: [], </code><code>17</code><code>: [], </code><code>18</code><code>: [], </code><code>19</code><code>: [], </code><code>20</code><code>: [], </code><code>21</code><code>: [], </code><code>22</code><code>: [], </code><code>23</code><code>: [], </code><code>24</code><code>: [], </code><code>25</code><code>: [], </code><code>26</code><code>: [], </code><code>27</code><code>: [], </code><code>28</code><code>: [], </code><code>29</code><code>: [], </code><code>30</code><code>: [], </code><code>31</code><code>: [], </code><code>32</code><code>: [], </code><code>33</code><code>: [], </code><code>34</code><code>: [], </code><code>35</code><code>: [], </code><code>36</code><code>: [], </code><code>37</code><code>: [], </code><code>38</code><code>: [], </code><code>39</code><code>: [], </code><code>40</code><code>: [], </code><code>41</code><code>: [], </code><code>42</code><code>: [], </code><code>43</code><code>: [], </code><code>44</code><code>: [], </code><code>45</code><code>: [], </code><code>46</code><code>: [], </code><code>47</code><code>: [], </code><code>48</code><code>: [], </code><code>49</code><code>: [], </code><code>50</code><code>: [], </code><code>51</code><code>: [], </code><code>52</code><code>: [], </code><code>53</code><code>: [], </code><code>54</code><code>: [], </code><code>55</code><code>: [], </code><code>56</code><code>: [], </code><code>57</code><code>: [], </code><code>58</code><code>: [], </code><code>59</code><code>: [], </code><code>60</code><code>: [], </code><code>61</code><code>: [], </code><code>62</code><code>: [], </code><code>63</code><code>: [], </code><code>64</code><code>: [], </code><code>65</code><code>: [], </code><code>66</code><code>: [], </code><code>67</code><code>: [], </code><code>68</code><code>: [], </code><code>69</code><code>: [], </code><code>70</code><code>: [], </code><code>71</code><code>: [], </code><code>72</code><code>: [], </code><code>73</code><code>: [], </code><code>74</code><code>: [], </code><code>75</code><code>: [], </code><code>76</code><code>: [], </code><code>77</code><code>: [], </code><code>78</code><code>: [], </code><code>79</code><code>: [], </code><code>80</code><code>: [], </code><code>81</code><code>: [], </code><code>82</code><code>: [], </code><code>83</code><code>: [], </code><code>84</code><code>: [], </code><code>85</code><code>: [], </code><code>86</code><code>: [], </code><code>87</code><code>: [], </code><code>88</code><code>: [], </code><code>89</code><code>: [], </code><code>90</code><code>: [], </code><code>91</code><code>: [], </code><code>92</code><code>: [], </code><code>93</code><code>: [], </code><code>94</code><code>: [], </code><code>95</code><code>: [], </code><code>96</code><code>: [], </code><code>97</code><code>: [], </code><code>98</code><code>: [], </code><code>99</code><code>: []}>>> c.setdefault(</code><code>8</code><code>)[]>>> c.setdefault(</code><code>200</code><code>)>>> c{</code><code>7</code><code>: [], </code><code>8</code><code>: [], </code><code>9</code><code>: [], </code><code>10</code><code>: [], </code><code>11</code><code>: [], </code><code>12</code><code>: [], </code><code>13</code><code>: [], </code><code>14</code><code>: [], </code><code>15</code><code>: [], </code><code>16</code><code>: [], </code><code>17</code><code>: [], </code><code>18</code><code>: [], </code><code>19</code><code>: [], </code><code>20</code><code>: [], </code><code>21</code><code>: [], </code><code>22</code><code>: [], </code><code>23</code><code>: [], </code><code>24</code><code>: [], </code><code>25</code><code>: [], </code><code>26</code><code>: [], </code><code>27</code><code>: [], </code><code>28</code><code>: [], </code><code>29</code><code>: [], </code><code>30</code><code>: [], </code><code>31</code><code>: [], </code><code>32</code><code>: [], </code><code>33</code><code>: [], </code><code>34</code><code>: [], </code><code>35</code><code>: [], </code><code>36</code><code>: [], </code><code>37</code><code>: [], </code><code>38</code><code>: [], </code><code>39</code><code>: [], </code><code>40</code><code>: [], </code><code>41</code><code>: [], </code><code>42</code><code>: [], </code><code>43</code><code>: [], </code><code>44</code><code>: [], </code><code>45</code><code>: [], </code><code>46</code><code>: [], </code><code>47</code><code>: [], </code><code>48</code><code>: [], </code><code>49</code><code>: [], </code><code>50</code><code>: [], </code><code>51</code><code>: [], </code><code>52</code><code>: [], </code><code>53</code><code>: [], </code><code>54</code><code>: [], </code><code>55</code><code>: [], </code><code>56</code><code>: [], </code><code>57</code><code>: [], </code><code>58</code><code>: [], </code><code>59</code><code>: [], </code><code>60</code><code>: [], </code><code>61</code><code>: [], </code><code>62</code><code>: [], </code><code>63</code><code>: [], </code><code>64</code><code>: [], </code><code>65</code><code>: [], </code><code>66</code><code>: [], </code><code>67</code><code>: [], </code><code>68</code><code>: [], </code><code>69</code><code>: [], </code><code>70</code><code>: [], </code><code>71</code><code>: [], </code><code>72</code><code>: [], </code><code>73</code><code>: [], </code><code>74</code><code>: [], </code><code>75</code><code>: [], </code><code>76</code><code>: [], </code><code>77</code><code>: [], </code><code>78</code><code>: [], </code><code>79</code><code>: [], </code><code>80</code><code>: [], </code><code>81</code><code>: [], </code><code>82</code><code>: [], </code><code>83</code><code>: [], </code><code>84</code><code>: [], </code><code>85</code><code>: [], </code><code>86</code><code>: [], </code><code>87</code><code>: [], </code><code>88</code><code>: [], </code><code>89</code><code>: [], </code><code>90</code><code>: [], </code><code>91</code><code>: [], </code><code>92</code><code>: [], </code><code>93</code><code>: [], </code><code>94</code><code>: [], </code><code>95</code><code>: [], </code><code>96</code><code>: [], </code><code>97</code><code>: [], </code><code>98</code><code>: [], </code><code>99</code><code>: [], </code><code>200</code><code>: </code><code>None</code><code>}>>> c.setdefault(</code><code>200</code><code>,</code><code>'cccc'</code><code>)>>> c{</code><code>7</code><code>: [], </code><code>8</code><code>: [], </code><code>9</code><code>: [], </code><code>10</code><code>: [], </code><code>11</code><code>: [], </code><code>12</code><code>: [], </code><code>13</code><code>: [], </code><code>14</code><code>: [], </code><code>15</code><code>: [], </code><code>16</code><code>: [], </code><code>17</code><code>: [], </code><code>18</code><code>: [], </code><code>19</code><code>: [], </code><code>20</code><code>: [], </code><code>21</code><code>: [], </code><code>22</code><code>: [], </code><code>23</code><code>: [], </code><code>24</code><code>: [], </code><code>25</code><code>: [], </code><code>26</code><code>: [], </code><code>27</code><code>: [], </code><code>28</code><code>: [], </code><code>29</code><code>: [], </code><code>30</code><code>: [], </code><code>31</code><code>: [], </code><code>32</code><code>: [], </code><code>33</code><code>: [], </code><code>34</code><code>: [], </code><code>35</code><code>: [], </code><code>36</code><code>: [], </code><code>37</code><code>: [], </code><code>38</code><code>: [], </code><code>39</code><code>: [], </code><code>40</code><code>: [], </code><code>41</code><code>: [], </code><code>42</code><code>: [], </code><code>43</code><code>: [], </code><code>44</code><code>: [], </code><code>45</code><code>: [], </code><code>46</code><code>: [], </code><code>47</code><code>: [], </code><code>48</code><code>: [], </code><code>49</code><code>: [], </code><code>50</code><code>: [], </code><code>51</code><code>: [], </code><code>52</code><code>: [], </code><code>53</code><code>: [], </code><code>54</code><code>: [], </code><code>55</code><code>: [], </code><code>56</code><code>: [], </code><code>57</code><code>: [], </code><code>58</code><code>: [], </code><code>59</code><code>: [], </code><code>60</code><code>: [], </code><code>61</code><code>: [], </code><code>62</code><code>: [], </code><code>63</code><code>: [], </code><code>64</code><code>: [], </code><code>65</code><code>: [], </code><code>66</code><code>: [], </code><code>67</code><code>: [], </code><code>68</code><code>: [], </code><code>69</code><code>: [], </code><code>70</code><code>: [], </code><code>71</code><code>: [], </code><code>72</code><code>: [], </code><code>73</code><code>: [], </code><code>74</code><code>: [], </code><code>75</code><code>: [], </code><code>76</code><code>: [], </code><code>77</code><code>: [], </code><code>78</code><code>: [], </code><code>79</code><code>: [], </code><code>80</code><code>: [], </code><code>81</code><code>: [], </code><code>82</code><code>: [], </code><code>83</code><code>: [], </code><code>84</code><code>: [], </code><code>85</code><code>: [], </code><code>86</code><code>: [], </code><code>87</code><code>: [], </code><code>88</code><code>: [], </code><code>89</code><code>: [], </code><code>90</code><code>: [], </code><code>91</code><code>: [], </code><code>92</code><code>: [], </code><code>93</code><code>: [], </code><code>94</code><code>: [], </code><code>95</code><code>: [], </code><code>96</code><code>: [], </code><code>97</code><code>: [], </code><code>98</code><code>: [], </code><code>99</code><code>: [], </code><code>200</code><code>: </code><code>None</code><code>}>>></code>
字典常用方法-------update(),将两个字典进行整合
<code>>>> ss </code><code>=</code> <code>{</code><code>'a'</code><code>:</code><code>11</code><code>,</code><code>'bb'</code><code>:</code><code>22</code><code>,</code><code>'cc'</code><code>:</code><code>33</code><code>}</code>
<code>>>> tt </code><code>=</code> <code>{</code><code>'a'</code><code>:</code><code>'kk'</code><code>,</code><code>'pp'</code><code>:</code><code>23</code><code>,</code><code>'rt'</code><code>:</code><code>33</code><code>}</code>
<code>>>> ss.update(tt)</code>
<code>>>> ss</code>
<code>{</code><code>'a'</code><code>: </code><code>'kk'</code><code>, </code><code>'rt'</code><code>: </code><code>33</code><code>, </code><code>'pp'</code><code>: </code><code>23</code><code>, </code><code>'bb'</code><code>: </code><code>22</code><code>, </code><code>'cc'</code><code>: </code><code>33</code><code>}</code>
如果ss中的键和tt中的键有重复,则以tt中的键所对应的值替换掉ss中keys对应的值,如果tt中的键值对在ss中不存在,则在ss中进行创建
字典常用方法-------values(),打印字典中所有的值
<code>>>> ss.values()</code>
<code>[</code><code>'kk'</code><code>, </code><code>33</code><code>, </code><code>23</code><code>, </code><code>22</code><code>, </code><code>33</code><code>]</code>
<code></code>
本文转自027ryan 51CTO博客,原文链接:http://blog.51cto.com/ucode/1715788,如需转载请自行联系原作者