Python學(xué)習(xí)筆記(二十一) Python3集合

      網(wǎng)友投稿 920 2022-05-29

      '''

      Python3集合

      集合(set)是一個無序的、不重復(fù)的元素序列。

      可以使用大括號?{} 或者?set() 函數(shù)創(chuàng)建集合。

      注意:創(chuàng)建一個空集合必須使用?set() 而非?{},因為?{} 是用來創(chuàng)建一個空字典。

      格式:

      parameter = {value1, value2, ...}

      或者

      set(value)

      '''

      集合(set)是一個無序的、不重的復(fù)元素序列。

      可以使用大括號?{}?或者??set()??函數(shù)創(chuàng)建集合,

      注意:創(chuàng)建一個空集合必須用?set()??而不是?{}?,因為??{}?是用來創(chuàng)建一個空字典。

      創(chuàng)建格式:

      parameter?=?{value01,value02,...}

      或者

      set(value)

      類似列表推導(dǎo)式,同樣集合支持集合推導(dǎo)式(Set comprehension):

      實例(Python 3.0+)

      >>>?a?=?{x?for?x?in?'abracadabra'?if?x?not?in?'abc'}

      >>>?a

      {'r',?'d'}

      集合的基本操作

      1、添加元素

      語法格式如下:

      s.add(?x )

      將元素 x 添加到集合 s 中,如果元素已存在,則不進行任何操作。

      實例(Python 3.0+)

      >>>?thisset?=?set(("Google",?"Runoob",?"Taobao"))

      # 若以上提示Function call can be replaced with set literal

      # 替換為{'Google', 'Runoob', 'Taobao'}即可

      >>>?thisset.add("Facebook")

      >>>?print(thisset)

      {'Taobao',?'Facebook',?'Google',?'Runoob'}

      還有一個方法,也可以添加元素,且參數(shù)可以是列表,元組,字典等,語法格式如下:

      s.update(?x )

      x 可以有多個,用逗號分開。

      實例(Python 3.0+)

      >>>?thisset?=?set(("Google",?"Runoob",?"Taobao"))

      >>>?thisset.update({1,3})

      >>>?print(thisset)

      {1,?3,?'Google',?'Taobao',?'Runoob'}

      >>>?thisset.update([1,4],[5,6])

      >>>?print(thisset)

      {1,?3,?4,?5,?6,?'Google',?'Taobao',?'Runoob'}

      >>>

      2、移除元素

      語法格式如下:

      s.remove(?x )

      將元素 x 從集合 s 中移除,如果元素不存在,則會發(fā)生錯誤。

      實例(Python 3.0+)

      >>>?thisset?=?set(("Google",?"Runoob",?"Taobao"))

      >>>?thisset.remove("Taobao")

      >>>?print(thisset)

      {'Google',?'Runoob'}

      >>>?thisset.remove("Facebook")???# 不存在會發(fā)生錯誤

      Traceback?(most recent call last):

      File?"",?line?1,?in?

      KeyError:?'Facebook'

      >>>

      此外還有一個方法也是移除集合中的元素,且如果元素不存在,不會發(fā)生錯誤。格式如下所示:

      s.discard(?x )

      實例(Python 3.0+)

      >>>?thisset?=?set(("Google",?"Runoob",?"Taobao"))

      >>>?thisset.discard("Facebook")??# 不存在不會發(fā)生錯誤

      >>>?print(thisset)

      {'Taobao',?'Google',?'Runoob'}

      我們也可以設(shè)置隨機刪除集合中的一個元素,語法格式如下:

      s.pop()

      腳本模式實例(Python 3.0+)

      thisset?=?set(("Google",?"Runoob",?"Taobao",?"Facebook"))

      x?=?thisset.pop()

      print(x)

      輸出結(jié)果:

      $ python3 test.py

      Runoob

      多次執(zhí)行測試結(jié)果都不一樣。

      注意:set 集合的 pop 方法會對集合進行無序的排列,然后將這個無序排列集合的左面第一個元素進行刪除。

      3、計算集合元素個數(shù)

      語法格式如下:

      len(s)

      計算集合 s 元素個數(shù)。

      實例(Python 3.0+)

      >>>?thisset?=?set(("Google",?"Runoob",?"Taobao"))

      >>>?len(thisset)

      3

      4、清空集合

      語法格式如下:

      s.clear()

      清空集合 s。

      實例(Python 3.0+)

      >>>?thisset?=?set(("Google",?"Runoob",?"Taobao"))

      >>>?thisset.clear()

      >>>?print(thisset)

      set()

      5、判斷元素是否在集合中存在

      語法格式如下:

      x in?s

      判斷元素 x 是否在集合 s 中,存在返回 True,不存在返回 False。

      實例(Python 3.0+)

      >>>?thisset?=?set(("Google",?"Runoob",?"Taobao"))

      >>>?"Runoob"?in?thisset

      True

      >>>?"Facebook"?in?thisset

      False

      >>>

      集合內(nèi)置方法完整列表

      序號

      方法及描述

      1

      set.add(elemnt)

      為集合添加元素

      2

      set.clear()

      移除集合中的所有元素

      3

      set.copy()

      拷貝一個集合

      4

      set.difference(set)

      返回多個集合的差集(-)

      5

      set.difference_update(set)

      移除集合中的元素,該元素在指定的集合也存在。差集

      6

      set.discard(value)

      刪除集合中指定的元素,移除不存在的元素時不會報錯。

      7

      set.intersection(set1, set2...)

      返回集合的交集(&)

      8

      set.intersection_update(set1, set2...)

      返回集合的交集。

      9

      set.isdisjoint(set)

      判斷兩個集合是否包含相同的元素,如果沒有返回 True,否則返回 False。

      10

      set.issubset(set)

      判斷指定集合是否為該方法參數(shù)集合的子集。

      11

      set.issuperset(set)

      判斷該方法的參數(shù)集合是否為指定集合的子集

      12

      set.pop()

      隨機移除元素

      13

      set.remove(item)

      移除指定元素,移除不存在的元素時會報錯。

      14

      set.symmetric_difference(set)

      返回兩個集合中不重復(fù)的元素集合?對稱差集(^)

      15

      set.symmetric_difference_update(set)

      移除當(dāng)前集合中在另外一個指定集合相同的元素,并將另外一個指定集合中不同的元素插入到當(dāng)前集合中。對稱差集

      16

      set.union(set1, set2...)

      返回兩個集合的并集(|)

      17

      set.update(set)

      給集合添加元素

      python 字符串操作方法詳解

      https://www.cnblogs.com/wj-1314/p/8419009.html

      python 列表操作方法詳解

      https://www.cnblogs.com/wj-1314/p/8433116.html

      python 字典操作方法詳解

      https://www.cnblogs.com/wj-1314/p/8421724.html

      python 集合操作方法詳解

      https://www.cnblogs.com/wj-1314/p/8423273.html

      #?3、計算集合元素個數(shù):

      # len(s):計算集合s元素個數(shù)

      set_f = {'Google', 'Runoob', 'Taobao'}

      print(len(set_f))

      # 4、清空集合

      # s.clear():清空集合s

      set_g = {'Google', 'Runoob', 'Taobao'}

      print(set_g.clear()) ???# 打印結(jié)果:None

      # 5、判斷元素是否在集合中

      # x in s:判斷元素x是否在集合s中,存在返回True,不存在返回False

      set_h = {'Google', 'Runoob', 'Taobao'}

      print('Google' in set_h)

      '''集合內(nèi)置方法完整列表示例'''

      # 1、add():

      '''

      描述:

      add()方法用于給集合添加元素,如果添加的元素在集合中,則不進行任何操作。

      語法:

      set.add(elmnt)

      參數(shù):

      elmnt--必須,要添加的元素

      返回值:

      '''

      fruit = {'apple', 'orange', 'peach'}

      fruit.add('watermelon')

      print(fruit)

      fruit.add('apple') ?????# 元素已存在,不執(zhí)行任何操作

      print(fruit)

      fruit.add(('grape')) ???# add()支持元組,不支持列表、字典

      print(fruit)

      # 2、clear():

      '''

      描述:

      clear()方法用于移除集合中的所有元素

      語法:

      set.clear()

      參數(shù):

      返回值:

      '''

      fruit = {'apple', 'orange', 'peach'}

      fruit.clear()

      print(fruit) ???????# 輸出結(jié)果為:set()

      # 3、copy():

      '''

      描述:

      copy()方法用于拷貝一個集合

      語法:

      set.copy()

      參數(shù):

      返回值:

      '''

      fruits = {'apple', 'banana', 'cherry'}

      x = fruits.copy()

      print(id(fruits), fruits)

      # 2441491078720 {'banana', 'cherry', 'apple'} ??地址不一樣,內(nèi)容一樣

      print(id(x), x)

      # 2441491078496 {'banana', 'cherry', 'apple'} ??地址不一樣,內(nèi)容一樣

      # 4、difference():差集(-)

      '''

      描述:

      difference()方法用于返回集合的差集,

      即返回一個新集合,元素在x集合而不在y集合。

      語法:

      set.difference(set)

      參數(shù):

      set--必須,用于計算差集的集合

      返回值:

      返回一個新的集合

      '''

      # set.difference(set):返回多個集合的差集,返回一個新集合,元素在x集合而不在y集合

      x = {'apple', 'orange', 'peach'}

      y = {'watermelon', 'grape', 'peach'}

      z = x.difference(y)

      print(z)

      # 類似于

      print(x - y)

      # 5、difference_update():差集

      '''

      描述:

      difference_update()方法用于移除兩個集合中都存在的元素,即返回差集。

      difference_update()與difference()的區(qū)別:

      前者是直接在原來的集合中移除元素,沒有返回值;

      后者返回 一個移除相同元素的新集合。

      語法:

      set.difference_update(set)

      參數(shù):

      set--必須,用于計算差集的集合

      返回值:

      '''

      x = {'apple', 'banana', 'cherry'}

      y = {'google', 'microsoft', 'apple'}

      x.difference_update(y)

      print(x) ???# {'banana', 'cherry'}

      # 6、discard():

      '''

      描述:

      discard()方法用于移除指定的集合元素。

      該方法不同于remove()方法,因為remove()方法在一處一個不存在的元素時會發(fā)生錯誤,而discard()方法不會。

      語法:

      set.discard(value)

      參數(shù):

      value--必須,要移除的元素

      返回值:

      '''

      fruits = {'apple', 'banana', 'cherry'}

      fruits.discard('banana') ????# 刪除已存在的元素

      print(fruits) ?????????????????# {'cherry', 'apple'}

      fruits.discard('watermelon')# 刪除不存在的元素,不會報錯

      # 7、intersection():交集(&)

      '''

      描述:

      intersection()方法用于返回兩個或多個集合中都包含的元素,即交集。

      語法:

      set.intersection(set1, set2, ...etc)

      參數(shù):

      set1--必須,要查找相同元素的集合

      set2--可選,其他要查找相同元素的集合,可以多個,多個使用逗號隔開

      返回值:

      返回一個新的集合

      '''

      x = {'apple', 'orange', 'peach'}

      y = {'watermelon', 'grape', 'peach'}

      z = {'banana', 'ananas', 'peach'}

      result = x.intersection(y, z)

      print(result)

      # 類似于

      print(x & y & z)

      # 思考如下例子:

      print(x & y | z)

      # intersection(set)中,set參數(shù)可以不是集合,可以是任何序列。

      x = {1, 2, 3, 4, 'a', 5.6}

      y = x.intersection('a') ????# str類型

      print(y) ???????????????????# {'a'}

      y2 = x.intersection([2]) ???# list類型

      print(y2) ??????????????????# {2}

      y3 = x.intersection((2,)) ??# tuple類型

      print(y3) ??????????????????# {2}

      # 而對字典則是與字典的key值比較:

      y4 = x.intersection({'a': 2})

      print(y4) ??????????????????# {'a'}

      y5 = x.intersection({1: 2})

      print(y5) ??????????????????# {1}

      # 8、intersection_update():交集

      '''

      描述:

      intersection_update()方法用于獲取兩個或多個集合中都重疊的元素,即計算交集。

      intersection_update()與intersection的區(qū)別:

      前者是在原始的集合上移除不重疊的元素,沒有返回值;

      后者返回一個新的集合。

      語法:

      set.intersection_update(set1, set2, ...etc)

      參數(shù):

      set1--必須,要查找相同元素的集合

      set2--可選,其他要查找相同元素的集合,可以多個,多個使用逗號隔開

      返回值:

      '''

      x = {"apple", "banana", "cherry"} ??# y 集合不包含?banana 和?cherry,被移除

      y = {"google", "runoob", "apple"}

      z = {'watermelon', 'pumpkin', 'apple'}

      result = x.intersection(y, z)

      print(result) ???# {'apple'}

      # 9、isdisjoint():

      '''

      描述:

      isdisjoint()方法用于判斷兩個集合是否包含相同的元素,如果沒有返回True,否則返回False。

      語法:

      set.isdisjoint(set1)

      參數(shù):

      set--必須,要比較的集合

      返回值:

      返回布爾值,如果不包含返回True,否則返回False

      '''

      x = {"apple", "banana", "cherry"}

      y = {"google", "runoob", "baidu"}

      z = {'watermelon', 'pumpkin', 'apple'}

      result = x.isdisjoint(y)

      print(result) ??????# 不包含,返回True

      result2 = x.isdisjoint(z)

      print(result2) ?????# 包含,返回False

      # 10、issubset():子集

      '''

      描述:

      issubset()方法用于判斷集合的所有元素是否都包含在指定集合中,

      即?x 是否包含在?y 中,如果是則返回True,否則返回False。

      語法:

      set.issubset(set)

      參數(shù):

      set--必須,要查找的集合

      返回值:

      返回布爾值,如果都包含返回True,否則返回False

      '''

      x = {"a", "b", "c"}

      y = {"f", "e", "d", "c", "b", "a"}

      z = {"f", "e", "d", "c", "b"}

      result = x.issubset(y)

      print(result) ??????# x 包含在?y 中,返回True

      result2 = x.issubset(z)

      print(result2) ?????# x 不包含在?y 中,返回False

      # 11、issuperset():父集

      '''

      描述:

      issuperset()方法用于判斷指定集合的所有元素是否都包含在原始的集合中,

      即?y 是否包含在?x 中,如果是則返回True,否則返回False。

      語法:

      set.issuperset(set)

      參數(shù):

      set--必須,要查找的集合

      返回值:

      返回布爾值,如果都包含返回True,否則返回False

      '''

      x = {"f", "e", "d", "c", "b", "a"}

      y = {"a", "b", "c"}

      z = {"f", "e", "d", "c", "b"}

      result1 = x.issuperset(y)

      print(result1) ?????# y 包含在?x 中,返回True

      result2 = z.issuperset(y)

      print(result2) ?????# y 不包含在?z 中,返回False

      # 12、pop():

      '''

      描述:

      pop()方法用于隨機移除一個元素,一般是移除左邊第一個元素。

      語法:

      set.pop()

      參數(shù):

      返回值:

      返回移除的元素

      '''

      fruits = {'apple', 'banana', 'cherry'}

      x = fruits.pop()

      print('被移除的元素:', x) # 被移除的元素:?cherry

      print(fruits) ???????????# {'apple', 'banana'}

      print('--------- 分割線?---------')

      ### pop()方法的規(guī)律總結(jié):

      s1 = {2, 5, 7, 4} ??????????????# 集合里只有數(shù)字

      s2 = {'你', '我', '他', '大家'} ?# 集合里無數(shù)字

      s3 = {3, 5, 2.9, '你', 'X', 'Y'} ?# 集合里既有數(shù)字又有非數(shù)字

      s1.pop() ???# 元素是數(shù)字時,刪除最小的數(shù)字,其余數(shù)字升序排列

      s2.pop() ???# 元素非數(shù)字時,隨即刪除一個元素,其余元素隨機排序

      s3.pop() ???# 元素既有數(shù)字又有非數(shù)字時,若刪除的是數(shù)字,則一定刪除最小的,否則隨機刪除一個非數(shù)字元素

      print(s1)

      print(s2)

      print(s3)

      # 多次運行觀察打印結(jié)果

      '''

      總結(jié):

      1、如果集合的元素都是數(shù)字, 刪除時, 刪掉的是最小的數(shù)字, 其余數(shù)字升序排列。

      2、如果集合的元素是非數(shù)字, 刪除時, 刪掉的是隨機的元素, 其余元素隨機排列。

      3、如果集合里既有數(shù)字又有非數(shù)字元素時:

      ·若刪掉的是數(shù)字, 則一定是刪掉了最小的, 其他數(shù)字升序排列, 非數(shù)字元素隨機排列;

      ·若刪掉的非數(shù)字, 則一定是隨機刪掉了一個, 其他數(shù)字升序排列, 非數(shù)字則隨機排列。

      '''

      # 13、remove()方法用于移除集合中的指定元素:

      '''

      描述:

      remove()方法用于移除集合中的指定元素

      該方法不同于discard()方法,因為remove()方法在移除一個不存在的元素時會報錯,而discard()方法不會報錯。

      語法:

      set.remove(item)

      參數(shù):

      item--要移除的元素

      返回值:

      '''

      fruits = {'apple', 'banana', 'cherry'}

      fruits.remove('banana')

      print(fruits) ??# {'apple', 'cherry'}

      # fruit.remove('peach') ?????# 不存在則報錯:KeyError: 'peach'

      # 14、symmetric_difference():對稱差集(^)

      '''

      描述:

      symmetric_difference()方法返回兩個集合中不重復(fù)的元素集合,即會移除兩個集合中都存在的元素。

      語法:

      set.symmetric_difference(set)

      參數(shù):

      set--集合

      返回值:

      返回一個新的集合

      '''

      x6 = {'apple', 'orange', 'peach'}

      y6 = {'watermelon', 'grape', 'peach'}

      result6 = x6.symmetric_difference(y6)

      print(result6)

      # 等同于

      print(x6 ^ y6)

      # 15、symmetric_difference_update():

      '''

      描述:

      symmetric_difference_update()方法移除當(dāng)前集合中在另一個指定集合相同的元素,

      并將另一個指定集合中不同的元素插入到當(dāng)前集合中。

      語法:

      set.symmetric_difference_update(set)

      參數(shù):

      set--要檢測的集合

      返回值:

      '''

      x7 = {'apple', 'orange', 'peach'}

      y7 = {'watermelon', 'grape', 'peach'}

      x7.symmetric_difference_update(y7)

      print(x7)

      # 16、union():并集(|)

      '''

      Python學(xué)習(xí)筆記(二十一) Python3集合

      描述:

      union()方法返回兩個集合的并集,即包含了所有集合的元素,重復(fù)的元素只會出現(xiàn)一次。

      語法:

      set.union(set1, set2, ...)

      參數(shù):

      set1--必須,合并的目標(biāo)集合

      set2--可選,其他要合并的集合,可以多個,多個使用逗號隔開

      返回值:

      返回一個新集合。

      '''

      x8 = {'apple', 'orange', 'peach'}

      y8 = {'watermelon', 'grape', 'peach'}

      z8 = {'banana', 'ananas', 'peach'}

      result8 = x8.union(y8, z8)

      print(result8)

      # 17、update():

      '''

      描述:

      update()方法用于修改當(dāng)前集合,可以添加新的元素或集合到當(dāng)前集合中,

      如果添加的元素在集合中已存在,則該元素只會出現(xiàn)一次,重復(fù)的會忽略。

      語法:

      set.update(set)

      參數(shù):

      set--必須,可以是元素或集合

      返回值:

      '''

      x9 = {'apple', 'orange', 'peach'}

      y9 = {'watermelon', 'grape', 'peach'}

      x9.update({'pear'}) ??# 新添加的元素被分隔后添加到集合中

      print(x9) ??# 不加集合{}的字符串,結(jié)果:{'peach', 'apple', 'e', 'p', 'orange', 'r', 'a'}

      x9.update(y9)

      print(x9)

      Python集合推導(dǎo)式

      字典推導(dǎo)式的語法格式如下:

      {表達式 for 迭代變量 in 可迭代對象 [if條件表達式]} # []中內(nèi)容可有可無

      集合是無序且不重復(fù)的,所以會自動去掉重復(fù)的元素,并且每次運行顯示的順序不一樣.

      從上面的代碼中可以總結(jié):

      集合推導(dǎo)式就是將列表推導(dǎo)式的[?]換成{?},字典推導(dǎo)式就是推導(dǎo)出兩個值并構(gòu)建成鍵值對的樣子.

      另外,不管是字典推導(dǎo)式還是集合推導(dǎo)式,后面都可以像列表推導(dǎo)式一樣接if條件語句,嵌套循環(huán)等,具體可以根據(jù)您自己的需求來使用.

      '''集合推導(dǎo)式'''

      # 遍歷一個可迭代對象生成集合

      set_a = {value for value in '有人風(fēng)輕云淡,有人負(fù)重前行'}

      print(set_a)

      square = {x ** 2 for x in [2, 2, 3, 4, 5, 6]}

      print(square)

      # 用集合推導(dǎo)式建立字符串長度的集合

      strings = ['a', 'is', 'with', 'if', 'file', 'exception']

      set_len = {len(s) for s in strings} # 長度相同的只留一個,這在實際上非常有用

      print(set_len)

      # 一個由男生和女生列表組成的嵌套列表,取出姓名中帶有兩個以上字母e的名字,組成列表

      names = [

      ['Tom','Billy','Jefferson','Andrew','Wesley','Steven','Joe'],

      ['Alice','Jill','Ana','Wendy','Jennifer','Sherry','Eva']

      ]

      # 用for循環(huán)實現(xiàn):

      tmp = []

      for lst in names:

      for name in lst:

      if name.count('e') >= 2:

      tmp.append(name)

      print(tmp) ???# ['jefferson', 'wesley', 'steven', 'jennifer']

      # 用推導(dǎo)式嵌套列表實現(xiàn):

      result1 = [name for lst in names for name in lst if name.count('e') >= 2]

      print(result1) ?# ['jefferson', 'wesley', 'steven', 'jennifer']

      # result1 = [[name for lst in names]for name in lst if name.count('e') >= 2] ???# 這個式子該怎么寫?這個語句是錯誤的,正確語句如下

      result2?= [[name for name in lst ?if name.count('e') >= 2] for lst in names]

      print(result2) ?# [['jefferson', 'wesley', 'steven'], ['jennifer']]

      '''

      小練習(xí):

      1、產(chǎn)生10個1~20的隨機數(shù),去除里面的重復(fù)項

      2、鍵盤輸入一個數(shù),將該數(shù)從不重復(fù)的集合中刪除

      '''

      import random

      set1 = set()

      i = 1

      while i <= 10:

      rand = random.randint(1, 20)

      if rand not in set1:

      set1.add(rand)

      i += 1

      print(set1, len(set1))

      # {3, 6, 7, 8, 13, 15, 16, 18, 19, 20} 10

      num = int(input('輸入一個要刪除的數(shù)字:')) # 需強轉(zhuǎn)為int型

      if num in set1:

      set1.remove(num)

      # 或

      # set1.discard(num)

      print(set1, len(set1))

      # 輸入3后,{6, 7, 8, 13, 15, 16, 18, 19, 20} 9

      else:

      print('集合里不存在該數(shù)!')

      set1 = {2, 3, 4, 5}

      set2 = {2, 3, 4, 5}

      print(id(set1), id(set2)) ??# 查看兩個集合的地址

      print(set1 == set2) ????# 判斷兩個集合中的內(nèi)容是否相等

      print(set1 != set2) ????# 判斷兩個集合中的內(nèi)容是否不相等

      Python

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:使用Python調(diào)用ManageOne運營API
      下一篇:JDBC+MySQL入門增刪改查案例
      相關(guān)文章
      国产aⅴ无码专区亚洲av| 亚洲精品国产高清嫩草影院| 亚洲色婷婷一区二区三区| 男人的天堂亚洲一区二区三区 | 亚洲熟女综合一区二区三区| 亚洲伊人久久大香线焦| 亚洲国产精品久久网午夜| 亚洲精品国产情侣av在线| 亚洲春色另类小说| 亚洲一区二区三区不卡在线播放| 亚洲国产中文在线视频| 亚洲精品123区在线观看| 国产精品亚洲午夜一区二区三区| 中文字幕亚洲情99在线| 亚洲国产一区二区三区在线观看| 亚洲国产成人AV在线播放| 色噜噜噜噜亚洲第一| 亚洲成?Ⅴ人在线观看无码| 亚洲国产综合精品中文字幕 | 亚洲婷婷在线视频| 亚洲乱码卡一卡二卡三| 亚洲婷婷第一狠人综合精品| 久久乐国产综合亚洲精品| 亚洲精品国产美女久久久| 亚洲国产综合无码一区二区二三区| 国产精品亚洲专区无码唯爱网 | 亚洲午夜久久影院| 亚洲中字慕日产2020| 日韩亚洲变态另类中文| 国产亚洲一区二区在线观看| 亚洲va久久久噜噜噜久久| 久久综合亚洲色HEZYO社区| 亚洲精品日韩中文字幕久久久| 亚洲伊人久久精品| 亚洲av中文无码乱人伦在线观看 | 亚洲精品国产V片在线观看| 国产亚洲综合久久系列| 久久综合亚洲色一区二区三区| 亚洲精品国产精品国自产网站 | 亚洲av日韩av天堂影片精品| 亚洲男女性高爱潮网站|